<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <div class="a">111</div>
    <div class="a">222</div>
    <input type="text">

    <script>

        // jq 本质上就是一个构造函数  


        function GetEle(ele) {
            // 获取所有的元素
            this.eles = document.querySelectorAll(ele);
        }


        // $符号就是实例化对象   省略每一次的new
        function $(ele) {
            return new GetEle(ele)
        }


        // 获取内容 、 设置内容
        // $('.a').text()   默认获取第一个
        // $('p').text('hello world')
        GetEle.prototype.text = function () {
            // 判断有没有参数
            if (arguments.length >= 1) {
                this.eles.forEach(v => {
                    v.innerText = arguments[0];
                })
            } else {
                // 没有参数表示是在获取   默认返回第一个
                return this.eles[0].innerText
            }
        }

        GetEle.prototype.html = function () {
            // 判断有没有参数
            if (arguments.length >= 1) {
                this.eles.forEach(v => {
                    v.innerHTML = arguments[0];
                })
            } else {
                // 没有参数表示是在获取   默认返回第一个
                return this.eles[0].innerHTML
            }
        }


        // GetEle.prototype.val = function () {
        //     // 判断有没有参数
        //     if (arguments.length >= 1) {
        //         this.eles.forEach(v => {
        //             v.value = arguments[0];
        //         })
        //     } else {
        //         // 没有参数表示是在获取   默认返回第一个
        //         return this.eles[0].value
        //     }
        // }


        GetEle.prototype.val = function (a) {
            // 判断有没有参数
            if (a) {
                this.eles.forEach(v => {
                    v.value = a;
                })
            } else {
                return this.eles[0].value
            }
        }



        console.log($('.a').text());

        $('.a').text('999');


        $('input').val(123);

        console.log($('input').val());


    </script>

</body>

</html>